package com.smartboot.plus.vo;

import com.alibaba.fastjson2.annotation.JSONField;

import java.sql.Timestamp;
import java.util.List;


/**
 * 用户视图对象
 */
public class MqttUserVO {



	/**
	 * 主键ID，唯一标识一个用户。
	 */
	private String id;


	/**
	 * 用户名，用于登录和标识用户。
	 */
	private String username;

	/**
	 * 密码，存储加密后的密码。
	 */
	private String password;

	/**
	 * 用户状态，例如：0 表示启用，1 表示禁用。
	 */
	private Integer status;

	/**
	 * 用户备注信息，用于描述用户的相关信息。
	 */
	private String remark;

	/**
	 * 创建时间，记录用户创建的时间。
	 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Timestamp createdAt;

	/**
	 * 更新时间，记录用户信息最后更新的时间。
	 */
	@JSONField(format = "yyyy-MM-dd HH:mm:ss")
	private Timestamp updatedAt;


	private Integer isDeleted; // 0未删除，1删除


	private String realName; // 真实姓名
	private List<String> roles; // 用户角色列表
	private String accessToken; // 访问令牌

	// Getters
	public String getRealName() {
		return realName;
	}

	public List<String> getRoles() {
		return roles;
	}

	public String getAccessToken() {
		return accessToken;
	}

	// Setters
	public void setRealName(String realName) {
		this.realName = realName;
	}

	public void setRoles(List<String> roles) {
		this.roles = roles;
	}

	public void setAccessToken(String accessToken) {
		this.accessToken = accessToken;
	}

	/**
	 * 获取主键ID。
	 *
	 * @return 主键ID
	 */
	public String getId() {
		return id;
	}

	/**
	 * 设置主键ID。
	 *
	 * @param id 主键ID
	 */
	public void setId(String id) {
		this.id = id;
	}

	/**
	 * 获取用户名。
	 *
	 * @return 用户名
	 */
	public String getUsername() {
		return username;
	}

	/**
	 * 设置用户名。
	 *
	 * @param username 用户名
	 */
	public void setUsername(String username) {
		this.username = username;
	}

	/**
	 * 获取密码。
	 *
	 * @return 密码
	 */
	public String getPassword() {
		return password;
	}

	/**
	 * 设置密码。
	 *
	 * @param password 密码
	 */
	public void setPassword(String password) {
		this.password = password;
	}

	/**
	 * 获取用户状态。
	 *
	 * @return 用户状态
	 */
	public Integer getStatus() {
		return status;
	}

	/**
	 * 设置用户状态。
	 *
	 * @param status 用户状态
	 */
	public void setStatus(Integer status) {
		this.status = status;
	}

	/**
	 * 获取用户备注信息。
	 *
	 * @return 用户备注信息
	 */
	public String getRemark() {
		return remark;
	}

	/**
	 * 设置用户备注信息。
	 *
	 * @param remark 用户备注信息
	 */
	public void setRemark(String remark) {
		this.remark = remark;
	}

	/**
	 * 获取创建时间。
	 *
	 * @return 创建时间
	 */
	public Timestamp getCreatedAt() {
		return createdAt;
	}

	/**
	 * 设置创建时间。
	 *
	 * @param createdAt 创建时间
	 */
	public void setCreatedAt(Timestamp createdAt) {
		this.createdAt = createdAt;
	}

	/**
	 * 获取更新时间。
	 *
	 * @return 更新时间
	 */
	public Timestamp getUpdatedAt() {
		return updatedAt;
	}

	/**
	 * 设置更新时间。
	 *
	 * @param updatedAt 更新时间
	 */
	public void setUpdatedAt(Timestamp updatedAt) {
		this.updatedAt = updatedAt;
	}


	public Integer getIsDeleted() {
		return isDeleted;
	}

	public void setIsDeleted(Integer isDeleted) {
		this.isDeleted = isDeleted;
	}

}
